package com.flyqiu.form.api.config;

import com.flyqiu.form.api.event.FlyQiuTableDataEvent;
import com.flyqiu.form.api.event.FlyQiuTableEvent;
import com.flyqiu.form.api.rule.FlyQiuFormDataRule;
import com.flyqiu.form.api.spi.FlyQiuFormStoreInitialization;

import java.util.List;

public interface IFlyQiuFormConfig {

    /**
     * 获取表单数据校验规则
     *
     * @return {@link FlyQiuFormDataRule}
     */
    List<FlyQiuFormDataRule> getFlyQiuFormDataRules();

    /**
     * 获取表单事件
     *
     * @return {@link FlyQiuTableEvent}
     */

    List<FlyQiuTableEvent> getFlyQiuTableEvents();

    /**
     * 获取表单数据事件
     *
     * @return {link FlyQiuTableDataEvent}
     */
    List<FlyQiuTableDataEvent> getFlyQiuTableDataEvents();


    /**
     * 获取飞秋表单存储初始化信息的列表。
     *
     * @return 返回一个包含飞秋表单存储初始化信息的列表。列表中的每个元素都代表一个表单存储的初始化配置。
     */
    List<FlyQiuFormStoreInitialization> getFlyQiuFormStoreInitializations();

}
